
import {Map} from 'immutable'

const initState = Map({
    count: 100
})


export default (state = initState, action) => {
    switch(action.type) {
        case 'INCREMENT': 
            // return state.updateIn(['count'], v => v + 1)     // immutable 方式更新  updateIn/update 第二个参数是一个方法
            return state.setIn(['count'], state.getIn('count') + 1)     // immutable 方式更新  setIn/set，第二个参数是一个值
            // return {
            //     ...state,
            //     count: state.count + 1
            // }
        case 'DECREMENT': 
            return state.update('count', v => v - 1)     // immutable 方式更新 单层
            // return {
            //     ...state,
            //     count: state.count - 1
            // }
        default:
            return state
    }
}